package com.crm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.crm.util.PoiHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author crm
 * @since 2020-06-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Student extends Model<Student>  implements Serializable{
    @PoiHandler(excelIgnore = true)
    private static final long serialVersionUID = 1L;

    /**
     * 学生id
     */
    @PoiHandler(excelHeader="学生编号")
    @TableId(value = "stu_id", type = IdType.AUTO)
    private Integer stuId;

    /**
     * 学生姓名
     */
    @PoiHandler(excelHeader="学生姓名")
    private String stuName;

    /**
     * 学生性别
     */
    @PoiHandler(excelHeader="学生性别")
    private String stuSex;

    /**
     * 学生年龄
     */
    @PoiHandler(excelHeader="学生年龄")
    private Integer stuAge;

    /**
     * 学生手机号
     */
    @PoiHandler(excelHeader="学生手机号")
    private String stuPhone;

    /**
     * 创建时间
     */
    @PoiHandler(excelHeader="创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime creatTime;

    /**
     * 学历
     */
    @PoiHandler(excelHeader="学历")
    private String stuEducation;

    /**
     * 学生状态
     */
    @PoiHandler(excelHeader="学历")
    private String stuStatus;

    /**
     * 来自渠道
     */
    @PoiHandler(excelHeader="来自渠道")
    private String stuSources;

    /**
     * 来源网址
     */
    @PoiHandler(excelHeader="来源网址")
    private String stuSourceSite;

    /**
     * 学生所在区域
     */
    @PoiHandler(excelHeader="学生所在区域")
    private String stuArea;

    /**
     * 来源关键词
     */
    @PoiHandler(excelHeader="来源关键词")
    private String stuSourceKeyWord;

    /**
     * 来源部门
     */
    @PoiHandler(excelHeader="来源部门")
    private String stuSourceSector;

    /**
     * 学生关注
     */
    @PoiHandler(excelHeader=" 学生关注")
    private String stuAttention;

    /**
     * 微信
     */
    @PoiHandler(excelHeader="微信")
    private String stuWeChat;

    /**
     * QQ
     */
    @PoiHandler(excelHeader="QQ")
    @TableField("stu_QQ")
    private String stuQq;

    /**
     * 是否报备  1.表示是，0表示未备注  默认为0
     */
    @PoiHandler(excelHeader="是否报备")
    private Integer isReport;

    /**
     * 咨询师id
     */
    @PoiHandler(excelHeader="咨询师id")
    private Integer uid;

    /**
     * 录入人
     */
    @PoiHandler(excelHeader="录入人")
    private String dataEntryClerk;

    /**
     * 学生备注
     */
    @PoiHandler(excelHeader="学生备注")
    private String stuRemark;

    /**
     * 课程方向
     */
    @PoiHandler(excelHeader="课程方向")
    private String courseDirection;

    /**
     * 打分
     */
    @PoiHandler(excelHeader="打分")
    private String grade;

    /**
     * 是否有效  1表示是，0代表否 默认为0
     */
    @PoiHandler(excelHeader="是否有效 ")
    private Integer isValid;

    /**
     * 无效原因
     */
    @PoiHandler(excelHeader="无效原因")
    private String noValidCause;

    /**
     * 是否回访 ，1代表已回访  0代表未回访 默认为0
     */
    @PoiHandler(excelHeader="是否回访")
    private Integer isVisit;

    /**
     * 首次回访时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @PoiHandler(excelHeader="首次回访时间")
    private LocalDateTime firstTime;

    /**
     * 是否上门  1代表已上门，0代表未上门  默认为0
     */
    @PoiHandler(excelHeader="是否上门")
    private String isCall;

    /**
     * 上门时间
     */
    @PoiHandler(excelHeader="上门时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime callTime;

    /**
     * 进班时间
     */
    @PoiHandler(excelHeader="进班时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime classTime;

    /**
     * 定金金额
     */
    @PoiHandler(excelHeader="定金金额")
    private Double handSelAmount;

    /**
     * 定金时间
     */
    @PoiHandler(excelHeader="定金时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handSelTime;

    /**
     * 是否缴费  1代表已缴费  0代表未缴费  默认为0
     */
    @PoiHandler(excelHeader="是否缴费")
    private Integer isFees;

    /**
     * 缴费金额
     */
    @PoiHandler(excelHeader="缴费金额")
    private Double feesMoney;

    /**
     * 是否退费   1代表已退费  0代表未退费  默认为0
     */
    @PoiHandler(excelHeader="是否退费 ")
    private Integer isReturnMoney;

    /**
     * 退费原因
     */
    @PoiHandler(excelHeader="退费原因")
    private String returnCause;

    /**
     * 是否进班，1代表进班，0代表未进班   默认为0
     */
    @PoiHandler(excelHeader="是否进班")
    private Integer isClass;

    /**
     * 进班备注
     */
    @PoiHandler(excelHeader="进班备注")
    private String classRemark;

    /**
     * 咨询师备注
     */
    @PoiHandler(excelHeader="咨询师备注")
    private String counselorRemark;
    @TableLogic
    @PoiHandler(excelHeader="是否删除")
    private Integer isDelete;
    @PoiHandler(excelHeader="备用string0")
    private String string0;


    @Override
    protected Serializable pkVal() {
        return this.stuId;
    }

}
